package org.totoro.classload;

import java.sql.Driver;
import java.util.Iterator;
import java.util.ServiceLoader;

/**
 * spi 例子
 * 需要建立建立 /META-INF/services/java.sql.Driver 文件，其中 [java.sql.Driver] 为接口名称，java.sql.Driver 文件的内容是实现类
 * 采用spi的有dubbo 框架等等..
 *
 * @author daocr
 * @date 2020/3/9
 */
public class SpiTest {


    public static void main(String[] args) {

        // pom 添加了 mysql 驱动
        ServiceLoader<Driver> serviceLoader = ServiceLoader.load(Driver.class);

        Iterator<Driver> iterator = serviceLoader.iterator();

        while (iterator.hasNext()) {
            Driver next = iterator.next();
            System.out.println(next);
        }


    }
}
